package com.machine.filling.db.greendao;

import java.util.Map;

import org.greenrobot.greendao.AbstractDao;
import org.greenrobot.greendao.AbstractDaoSession;
import org.greenrobot.greendao.database.Database;
import org.greenrobot.greendao.identityscope.IdentityScopeType;
import org.greenrobot.greendao.internal.DaoConfig;

import com.machine.filling.db.modle.AdModle;
import com.machine.filling.db.modle.CardTempModle;
import com.machine.filling.db.modle.ClientInfoModle;
import com.machine.filling.db.modle.ExceptionOrderModle;
import com.machine.filling.db.modle.GunInfoModle;
import com.machine.filling.db.modle.LocalOrderModle;
import com.machine.filling.db.modle.TempOrderModle;
import com.machine.filling.db.modle.TestModle;

import com.machine.filling.db.greendao.AdModleDao;
import com.machine.filling.db.greendao.CardTempModleDao;
import com.machine.filling.db.greendao.ClientInfoModleDao;
import com.machine.filling.db.greendao.ExceptionOrderModleDao;
import com.machine.filling.db.greendao.GunInfoModleDao;
import com.machine.filling.db.greendao.LocalOrderModleDao;
import com.machine.filling.db.greendao.TempOrderModleDao;
import com.machine.filling.db.greendao.TestModleDao;

// THIS CODE IS GENERATED BY greenDAO, DO NOT EDIT.

/**
 * {@inheritDoc}
 * 
 * @see org.greenrobot.greendao.AbstractDaoSession
 */
public class DaoSession extends AbstractDaoSession {

    private final DaoConfig adModleDaoConfig;
    private final DaoConfig cardTempModleDaoConfig;
    private final DaoConfig clientInfoModleDaoConfig;
    private final DaoConfig exceptionOrderModleDaoConfig;
    private final DaoConfig gunInfoModleDaoConfig;
    private final DaoConfig localOrderModleDaoConfig;
    private final DaoConfig tempOrderModleDaoConfig;
    private final DaoConfig testModleDaoConfig;

    private final AdModleDao adModleDao;
    private final CardTempModleDao cardTempModleDao;
    private final ClientInfoModleDao clientInfoModleDao;
    private final ExceptionOrderModleDao exceptionOrderModleDao;
    private final GunInfoModleDao gunInfoModleDao;
    private final LocalOrderModleDao localOrderModleDao;
    private final TempOrderModleDao tempOrderModleDao;
    private final TestModleDao testModleDao;

    public DaoSession(Database db, IdentityScopeType type, Map<Class<? extends AbstractDao<?, ?>>, DaoConfig>
            daoConfigMap) {
        super(db);

        adModleDaoConfig = daoConfigMap.get(AdModleDao.class).clone();
        adModleDaoConfig.initIdentityScope(type);

        cardTempModleDaoConfig = daoConfigMap.get(CardTempModleDao.class).clone();
        cardTempModleDaoConfig.initIdentityScope(type);

        clientInfoModleDaoConfig = daoConfigMap.get(ClientInfoModleDao.class).clone();
        clientInfoModleDaoConfig.initIdentityScope(type);

        exceptionOrderModleDaoConfig = daoConfigMap.get(ExceptionOrderModleDao.class).clone();
        exceptionOrderModleDaoConfig.initIdentityScope(type);

        gunInfoModleDaoConfig = daoConfigMap.get(GunInfoModleDao.class).clone();
        gunInfoModleDaoConfig.initIdentityScope(type);

        localOrderModleDaoConfig = daoConfigMap.get(LocalOrderModleDao.class).clone();
        localOrderModleDaoConfig.initIdentityScope(type);

        tempOrderModleDaoConfig = daoConfigMap.get(TempOrderModleDao.class).clone();
        tempOrderModleDaoConfig.initIdentityScope(type);

        testModleDaoConfig = daoConfigMap.get(TestModleDao.class).clone();
        testModleDaoConfig.initIdentityScope(type);

        adModleDao = new AdModleDao(adModleDaoConfig, this);
        cardTempModleDao = new CardTempModleDao(cardTempModleDaoConfig, this);
        clientInfoModleDao = new ClientInfoModleDao(clientInfoModleDaoConfig, this);
        exceptionOrderModleDao = new ExceptionOrderModleDao(exceptionOrderModleDaoConfig, this);
        gunInfoModleDao = new GunInfoModleDao(gunInfoModleDaoConfig, this);
        localOrderModleDao = new LocalOrderModleDao(localOrderModleDaoConfig, this);
        tempOrderModleDao = new TempOrderModleDao(tempOrderModleDaoConfig, this);
        testModleDao = new TestModleDao(testModleDaoConfig, this);

        registerDao(AdModle.class, adModleDao);
        registerDao(CardTempModle.class, cardTempModleDao);
        registerDao(ClientInfoModle.class, clientInfoModleDao);
        registerDao(ExceptionOrderModle.class, exceptionOrderModleDao);
        registerDao(GunInfoModle.class, gunInfoModleDao);
        registerDao(LocalOrderModle.class, localOrderModleDao);
        registerDao(TempOrderModle.class, tempOrderModleDao);
        registerDao(TestModle.class, testModleDao);
    }
    
    public void clear() {
        adModleDaoConfig.clearIdentityScope();
        cardTempModleDaoConfig.clearIdentityScope();
        clientInfoModleDaoConfig.clearIdentityScope();
        exceptionOrderModleDaoConfig.clearIdentityScope();
        gunInfoModleDaoConfig.clearIdentityScope();
        localOrderModleDaoConfig.clearIdentityScope();
        tempOrderModleDaoConfig.clearIdentityScope();
        testModleDaoConfig.clearIdentityScope();
    }

    public AdModleDao getAdModleDao() {
        return adModleDao;
    }

    public CardTempModleDao getCardTempModleDao() {
        return cardTempModleDao;
    }

    public ClientInfoModleDao getClientInfoModleDao() {
        return clientInfoModleDao;
    }

    public ExceptionOrderModleDao getExceptionOrderModleDao() {
        return exceptionOrderModleDao;
    }

    public GunInfoModleDao getGunInfoModleDao() {
        return gunInfoModleDao;
    }

    public LocalOrderModleDao getLocalOrderModleDao() {
        return localOrderModleDao;
    }

    public TempOrderModleDao getTempOrderModleDao() {
        return tempOrderModleDao;
    }

    public TestModleDao getTestModleDao() {
        return testModleDao;
    }

}
